Vite 环境变量
为什么需要环境变量?
- 统一配置
- 去除一个个文件替换
设置环境变量
我的最佳实践是在项目跟目录创建环境变量文件, 然后定义不同环境下的环境变量,例如, 通用环境变量, 开发环境变量, 生产环境变量
环境变量语法:
一行一个key与value
VITE_APP_开头的环境可以被浏览器捕获到, 不安全
示例:
VITE_APP_BASE_URL=http://localhost:4000
key1=value1
keyN=valueN
- 在项目根目录创建文件
.env
cd <project>
echo > .env VITE_APP_BASE_URL=http://localhost:4000
- 测试读取, 在任意的
vite项目下执行
console.log(import.meta.env.VITE_APP_BASE_URL)
环境变量模式
模式
.env # 所有情况下都会加载 .env.local # 所有情况下都会加载,但会被 git 忽略 .env.[mode] # 只在指定模式下加载 .env.[mode].local # 只在指定模式下加载,但会被 git 忽略
语法: vite --mode <mode>
{
"scripts": {
"dev:local": "vite --mode <mode>"
}
}